package com.atguigu.tingshu.account.service;

import com.atguigu.tingshu.model.account.RechargeInfo;
import com.atguigu.tingshu.model.account.UserAccountDetail;
import com.atguigu.tingshu.vo.account.RechargeInfoVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface RechargeInfoService extends IService<RechargeInfo> {

    /**
     * 根据订单编号查询充值记录
     * @param orderNo
     * @return
     */
    RechargeInfo getRechargeInfo(String orderNo);

    /**
     * 保存充值余额记录返回充值订单编号
     * @param rechargeInfoVo
     * @param userId
     * @return
     */
    Map<String, String> submitRecharge(RechargeInfoVo rechargeInfoVo, Long userId);

    /**
     * 在线付款成功后-更新充值状态&账户余额及新增账户变动日志
     * @param orderNo
     */
    void rechargePaySuccess(String orderNo);

    /**
     * 查询当前用户账户变动明细列表
     * @param pageInfo
     * @param accountTradeTypeDeposit
     */
    void getUserAccountDetail(Page<UserAccountDetail> pageInfo, String accountTradeTypeDeposit);
}
